Imports System.Xml
Imports System.Data.SqlClient
Public Class dRemitoServicio
    Private tbldetalleRemitoServicio As CapaDeDatos.dDestalleRemitoServicio = New CapaDeDatos.dDestalleRemitoServicio
    Public Function Existe(ByVal Numero As Long) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        Parametros.Add(New SqlParameter("@pENumero", Numero))
        Return dConexion.Consultar("STORE_TblRemito_ServiciosBuscarFiltrado", Parametros).Tables(0).Rows.Count > 0
    End Function
    Public Function Insertar(ByVal numero As Long, ByVal Fecha As Date, ByVal CodigoOrdenServicio As Long, ByVal ValorCotizado As Double, ByVal detalle As String) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        Parametros.Add(New SqlParameter("@pENumero", numero))
        Parametros.Add(New SqlParameter("@pEFEcha", Fecha.ToShortDateString))
        Parametros.Add(New SqlParameter("@pECodigoOrdenServicio", CodigoOrdenServicio))
        Parametros.Add(New SqlParameter("@pEDetalle", detalle))
        Parametros.Add(New SqlParameter("@pEValorCotizado", ValorCotizado))
        Return dConexion.ABM("STORE_TblRemito_ServiciosAlta", Parametros)

    End Function

    Public Function Eliminar(ByVal CodigoRemito As Long) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        Parametros.Add(New SqlParameter("@pECodigoRemito", CodigoRemito))
        Return dConexion.ABM("STORE_TblRemito_ServiciosEliminar", Parametros)
    End Function
    Public Function Modificar(ByVal CodigoRemito As Long, ByVal numero As Long, ByVal Fecha As Date, ByVal CodigoOrdenServicio As Long, ByVal ValorCotizado As Double, ByVal detalle As String, ByVal CodigoFactura As Long) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        If CodigoRemito <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoRemito", CodigoRemito))
        End If
        If numero <> 0 Then
            Parametros.Add(New SqlParameter("@pENumero", numero))
        End If
        If Fecha <> (New DateTime) Then
            Parametros.Add(New SqlParameter("@pEFecha", Fecha.ToShortDateString))
        End If
        If CodigoOrdenServicio <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoOrdenServicio", CodigoOrdenServicio))
        End If
        If ValorCotizado <> 0 Then
            Parametros.Add(New SqlParameter("@pEValorCotizado ", ValorCotizado))
        End If
        If detalle <> "" Then
            Parametros.Add(New SqlParameter("@pEDetalle", detalle))
        End If

        If CodigoFactura <> 0 Then
            Parametros.Add(New SqlParameter("@pEIdFactura", CodigoFactura))
        End If


        Return dConexion.ABM("STORE_TblRemito_ServiciosModificar", Parametros)
    End Function
    Public Function Buscar(ByVal CodigoRemito As Long, ByVal numero As Long, ByVal Fecha As Date, ByVal CodigoOrdenServicio As Long, ByVal ValorCotizado As Double, ByVal detalle As String, ByVal codigoFactura As Long, ByVal Estado As String) As DataSet
        Dim Parametros As ArrayList = New ArrayList
        If CodigoRemito <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoRemito", CodigoRemito))
        End If
        If numero <> 0 Then
            Parametros.Add(New SqlParameter("@pENumero", numero))
        End If
        If Fecha <> (New DateTime) Then
            Parametros.Add(New SqlParameter("@pEFecha", Fecha.ToShortDateString))
        End If
        If CodigoOrdenServicio <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoOrdenServicio", CodigoOrdenServicio))
        End If
        If ValorCotizado <> 0 Then
            Parametros.Add(New SqlParameter("@pEValorCotizado ", ValorCotizado))
        End If
        If detalle <> "" Then
            Parametros.Add(New SqlParameter("@pEDetalle", detalle))

        End If
        If codigoFactura <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoFactura", codigoFactura))
        End If
        If Estado <> "" Then
            Parametros.Add(New SqlParameter("@pEEstado", Estado))
        End If
        Return dConexion.Consultar("STORE_TblRemito_ServiciosBuscarFiltrado", Parametros)
    End Function

    Public Function BuscarFiltrado(ByVal CodigoRemito As String, ByVal numero As String, ByVal Fecha As String, ByVal CodigoOrdenServicio As String, ByVal ValorCotizado As String, ByVal detalle As String, ByVal IdFactura As String, ByVal Estado As String) As DataSet

        Dim Parametros As ArrayList = New ArrayList
        If CodigoRemito <> "" Then
            Parametros.Add(New SqlParameter("@pECodigoRemito", CodigoRemito))
        End If
        If numero <> "" Then
            Parametros.Add(New SqlParameter("@pENumero", numero))
        End If
        If Fecha <> "" Then
            Parametros.Add(New SqlParameter("@pEFecha", Fecha))
        End If
        If CodigoOrdenServicio <> "" Then
            Parametros.Add(New SqlParameter("@pECodigoOrdenServicio", CodigoOrdenServicio))
        End If
        If ValorCotizado <> "" Then
            Parametros.Add(New SqlParameter("@pEValorCotizado ", ValorCotizado))
        End If
        If detalle <> "" Then
            Parametros.Add(New SqlParameter("@pEDetalle", detalle))
        End If

        If IdFactura <> "" Then
            Parametros.Add(New SqlParameter("@pEIdFactura", IdFactura))
        End If
        If Estado <> "" Then
            Parametros.Add(New SqlParameter("@pEEstado", Estado))
        End If

        Return dConexion.Consultar("STORE_TblRemito_ServiciosBUSCARFILTRADO", Parametros)
    End Function
    Public Function Listar() As DataSet
        Return dConexion.Consultar("STORE_TblRemito_ServiciosBuscarFiltrado", New ArrayList)
    End Function

    Public Function BuscarUltimoRemito() As Long
        Dim dts As DataSet
        dts = dConexion.Consultar("STORE_TblRemito_ServiciosBuscarUltimoRemito", New ArrayList)
        Try
            Return Convert.ToInt32(dts.Tables(0).Rows(0)(0))
        Catch ex As Exception

        End Try
        Return 0
    End Function
End Class
